package pe.edu.unmsm.fisi.sysllabus.integracion.dao.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
import org.springframework.stereotype.Repository;

import com.ibatis.sqlmap.client.SqlMapClient;

import pe.edu.unmsm.fisi.sysllabus.integracion.dao.CarreraDAO;
import pe.edu.unmsm.fisi.sysllabus.negocio.modelo.dto.CarreraProfesionalDTO;

@Repository
public class CarreraDAOImpl extends SqlMapClientDaoSupport implements CarreraDAO {

	@Autowired
	public CarreraDAOImpl(SqlMapClient sql) {
		super.setSqlMapClient(sql);
	}

	@Override
	public List<CarreraProfesionalDTO> listarCarreras()
			throws DataAccessException {
		return (List<CarreraProfesionalDTO>)getSqlMapClientTemplate().queryForList("CarreraProfesional.listarCarrerasProfesionales");
	}

	@Override
	public void insertCarrera(CarreraProfesionalDTO carreraEditar)
			throws DataAccessException {
		getSqlMapClientTemplate().insert("CarreraProfesional.insertCarrera", carreraEditar);
	}

	@Override
	public void updateCarrera(CarreraProfesionalDTO carreraEditar)
			throws DataAccessException {
		getSqlMapClientTemplate().update("CarreraProfesional.updateCarrera", carreraEditar);
	}

	@Override
	public CarreraProfesionalDTO getCarrera(Integer idCarreraProf)
			throws DataAccessException {
		// TODO Auto-generated method stub
		return (CarreraProfesionalDTO)getSqlMapClientTemplate().queryForObject("CarreraProfesional.getCarrera", idCarreraProf);
	}

}
